// @author: caoshi
// @date: 2021-05-04 00:31
//
package main

import (
	"fmt"
	"time"
)

func main() {
	/*
		func NewTimer(d Duration) *Timer
		创建一个计时器, d时间后出发
	*/
	//timer := time.NewTimer(3 * time.Second)		// *time.Timer
	//fmt.Printf("%T\n", timer)
	//
	//ch := timer.C
	//// 此处等待channel中的数据, 会阻塞3秒
	//fmt.Println(<-ch)

	// 新建定时器, 5秒后触发事件
	timer2 := time.NewTimer(5 * time.Second)
	go func() {
		<-timer2.C
		fmt.Println("Time2 结束了, 开始处理事件")
	}()
	// 3秒时停止
	time.Sleep(3 * time.Second)
	flag := timer2.Stop()
	if flag {
		fmt.Println("Timer2 Stop")
	}

}
